package com.ruoyi.contract.domain.reminderVo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.contract.domain.Contract;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @program: Smart-contract-management-system-replica-system
 * @description: 合同到期提醒对象
 * @author: coderChen
 * @create: 2024-10-24 10:35
 **/

public class ContractReminderVo {

    /** id */
    private Long expirationReminderId;

    /** 合同id */
    private Long contractId;

    /** 合同名称 */
    private String name;

    /** 合同编码 */
    private String code;

    /** 合同总额 */
    private BigDecimal allMoney;

    /** 已收(付)金额 */
    private BigDecimal paidPayment;

    /** 合同所属公司名称 */
    private String belongingCompanyName;  // 新增字段

    /** 合同类型 */
    private String type;

    /** 合同类别名称 */
    private String contractCategoryName;

    /** 合同生效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date effectiveTime;

    /** 合同终止日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date terminationTime;

    /** 收（付）款类型 */
    private String collectionAndPaymentTypes;

    /** 收（付）款状态 */
    private String collectionAndPaymentState;

    /** 未收(付)金额 */
    private BigDecimal unpaidPayment;

    /** 签约方 */
    private String contractPartyName;

    /** 签约方列表 */
    private List<String> contractPartyList;

    /** 距离到期剩余天数 */
    private Long maturityDays;

    /** 到期提醒类型 */
    private String alarmType;

    /** 到期状态 */
    private String state;

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getAlarmType() {
        return alarmType;
    }

    public void setAlarmType(String alarmType) {
        this.alarmType = alarmType;
    }

    public Long getMaturityDays() {
        return maturityDays;
    }

    public void setMaturityDays(Long maturityDays) {
        this.maturityDays = maturityDays;
    }

    public BigDecimal getUnpaidPayment() {
        return unpaidPayment;
    }

    public void setUnpaidPayment(BigDecimal unpaidPayment) {
        this.unpaidPayment = unpaidPayment;
    }

    public String getCollectionAndPaymentState() {
        return collectionAndPaymentState;
    }

    public void setCollectionAndPaymentState(String collectionAndPaymentState) {
        this.collectionAndPaymentState = collectionAndPaymentState;
    }

    public String getCollectionAndPaymentTypes() {
        return collectionAndPaymentTypes;
    }

    public void setCollectionAndPaymentTypes(String collectionAndPaymentTypes) {
        this.collectionAndPaymentTypes = collectionAndPaymentTypes;
    }

    public Date getTerminationTime() {
        return terminationTime;
    }

    public void setTerminationTime(Date terminationTime) {
        this.terminationTime = terminationTime;
    }

    public Date getEffectiveTime() {
        return effectiveTime;
    }

    public void setEffectiveTime(Date effectiveTime) {
        this.effectiveTime = effectiveTime;
    }

    public String getContractCategoryName() {
        return contractCategoryName;
    }

    public void setContractCategoryName(String contractCategoryName) {
        this.contractCategoryName = contractCategoryName;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getBelongingCompanyName() {
        return belongingCompanyName;
    }

    public void setBelongingCompanyName(String belongingCompanyName) {
        this.belongingCompanyName = belongingCompanyName;
    }
    public List<String> getContractPartyList() {
        return contractPartyList;
    }

    public void setContractPartyList(List<String> contractPartyList) {
        this.contractPartyList = contractPartyList;
    }

    public BigDecimal getPaidPayment() {
        return paidPayment;
    }

    public void setPaidPayment(BigDecimal paidPayment) {
        this.paidPayment = paidPayment;
    }

    public BigDecimal getAllMoney() {
        return allMoney;
    }

    public void setAllMoney(BigDecimal allMoney) {
        this.allMoney = allMoney;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getContractId() {
        return contractId;
    }

    public void setContractId(Long contractId) {
        this.contractId = contractId;
    }

    public Long getExpirationReminderId() {
        return expirationReminderId;
    }

    public void setExpirationReminderId(Long expirationReminderId) {
        this.expirationReminderId = expirationReminderId;
    }
    public String getContractPartyName() {
        return contractPartyName;
    }

    public void setContractPartyName(String contractPartyName) {
        this.contractPartyName = contractPartyName;
    }
}
